Mercantile Bug Explained, teaser for my upcoming Economy
Adjuster
The Elder Scrolls Homepage | HelpSearchMembersCalendar |
Logged in as: Ronin49 ( Log Out ) | My Controls · View New Posts · My Assistant · 0 New Messages |
|
HotFusion4 |
Yesterday, 01:48 PM
Post #1
|
Novice Joined: 1-February 05 |
Most people you have played MW for a while know about
the so called "Mercantile bug." As your Mercantile skill increases,
merchants' selling price goes down (which makes sense), but thier buying
price also goes down (which doesn't make sense). The result is that a high
Mercantile score is actually harmful, because you can only sell your
treasure at a fraction of what a beginning character could. A common
work-around for this is to create a 50 point Drain Mercantile spell,
targeted on yourself, with a duration of one second, so that you can get
normal prices for your goods again. No more work arounds are necessary. I've found the source of the problem, and I have a solution. Here are some of my research notes: CODE
The following tables list what
prices a merchant of a given skill was willing to offer for both the sale
and purchase of a 100 septim pearl. Measurements were taken with a
character with a Personality and Luck of 40. Disposition was 45 in
all cases. The player's mercantile score was varied, as shown on the
tables. Merchant Mercantile 5 Buy Offer Sell Offer PC Merc. 20 95 54 40 81 67 60 70 70 80 57 57 100 45 45 Merchant Mercantile 20 Buy Offer Sell Offer PC Merc. 20 104 45 40 91 58 60 79 70 80 66 66 100 54 54 Believe it or not, most merchants' Mercantile score range from between 5 and 20, so this data is representative of how commerce works for the majority of the game. Notice how player mercantile scores of greater than 60 actually lead to a decrease in purchase offers. This is the infamous "mercantile bug" (although we'll see in a moment that it's not really a bug with the mercantile skill itself). Since the player spends a lot more time selling than buying, this means that a high mercantile score actually puts the player at a disadvantage, an annoying outcome. Also, be aware that through haggling, you can easily alter the prices given above by about 10% in your favor. This means that when the buy and sell prices are close together, the player can actually make money by simply trading the same item back and forth with the merchant, whom stupidly keeps buying the item at a higher price than he sells it. Something interesting happens somewhere around a skill of 40. The "mercantile bug" dissappears! A higher merc score for the player always results in better prices when dealing with a reasonably skilled merchant. Check out these data: Merchant Mercantile 40 Buy Offer Sell Offer PC Merc. 20 123 26 40 110 39 60 98 51 80 85 64 100 73 73 Conclusion: To make mercantile a viable player skill, most merchants must have a minimum mercantile score of about 30-40. Even this is probablt stilltoo low, however. Notice that a player witha Mercantile of 100 can make a profit by buying and selling the same object to the merchant over and over, collecting the haggling difference each time. No-one should be able to convince a merchant to do something that stupid, no matter how good his trading skills are. Merchant Mercantile 60 Buy Offer Sell Offer PC Merc. 20 129 20 40 116 33 60 104 45 80 91 58 100 79 70 At a skill 60, the merchant is starting to hold his own, although a PC with a skill of around 100 can still extort infinite money out of him by exploiting the back-and-forth bug, although it's certainly harder now. Look waht happens at really high scores: Merchant Mercantile 80 Buy Offer Sell Offer PC Merc. 20 141 8 40 129 20 60 116 33 80 104 45 100 91 58 Merchant Mercantile 100 Buy Offer Sell Offer PC Merc. 20 154 1 40 141 8 60 129 20 80 116 33 100 104 45 At the higher end of the skill scale, the merchant becomes a brutal businessman. No amount of haggling can force the merchant to buy and sell at a loss. A truly skilled PC can force the merchant to meet him midway in the price range, but beginning PCs will be blown out of the water. Conclusions: The so-called "mercantile bug" was really just a result of the NPCs mercantile scores being entirely too low. A minimum score of about 30 is neccessary to avoid the mercantile bug, but higher values are desirable, becasue they eliminate the back-and-forth bug, and generally make the merchants sharper businessmen. However, it is also desirable to still have a substantial number of weaker merchants, or beginning PCs will never be able to get up off the ground. The effects of Disposition were also measured. The same skill 100 merchant was tested again, this time after having had his diposition raised to 100: Merchant Mercantile 100 Disposition 100 Buy Offer Sell Offer PC Merc. 20 120 30 40 107 42 60 95 67 100 70 70 The effects are similar to what would have happend if the merchant had lost about 60 points off of his skill. Notice that it is now possible for the player to extort an infinite amount of money out of the merchant by trading a single item backa and forth. Merchants can be protected from persuasion and bribery by raising their Speechcraft scores. Currently, their Speechcraft scores are entirely too low, and even a begginning character can generally admire most merchants in abject helplessless. This is bad for both the economy, and for the Speechcraft skill itself (if you can accomplish just about anything with a Speechcraft skill of 40, why would anyone ever take it as a primary skill?). When the player's Speechcraft skill is equal to the merchant's, the PC can generally push the Disposition up to about 60, which isn't so bad. The effects of bribery were investigated. The merchant was granted a mercantile and speechcraft skill of 100. The PC, with a meager speechcraft skill of 20, was able to consistantyl bribe the merchant to 100, oftentimes using only 10 septim bribes. The merchant never declined a 1000 spetim bribe. It is a bit strange that a merchant would accept a one-time bribe to permanently lower his prices by about 33%. Bribery is simply too powerful as written. The effectiveness of bribery can be altered in the Game settings menu. The gamesettings fBribe10Mod, fBribe100Mod, and fBribe1000Mod were lowered from 35, 75 and 150 to 20, 40, and 60. Bribery is still an effective and valuable tool, but it is no longer a magic carpet. It can be used to modestly improve disposition with someone who has a similar Speechcraft skill as the player, but it cannot be used to lull an equally skilled merchant into abject submission. I'd like to give credit to Patrograd2, who was the first person to doa quantitative study of the effects of Mercantile and Speechcraft, and who inspired me to do my own study. The lessons learned from this research will be incorporated into my upcoming Economy Adjuster mod. Here's the thread that started the idea: Old Economy Thread The plug-in will be modular, and will include more than just a fix for the merchants. The components will include: Merchant -Makes the NPC merchants much better businessmen. Mercantile and Speechcraft become important skills for the player. Faction alliances (and the disposition bonuses that come with them) become extremely important. -Makes bribery harder -removes the diposition bonus for a successful barter Ingredients -Rescales the prices of most ingredients to a more sensible standard. -Reduces the commonality of pearls Crime -Makes criminal penalties much more severe -Reduces discount for using theive's guild connections to pay off a bounty Treasure -Makes glass, ebony, and daedric weapon drops significantly more rare Miscellaneous -Alters the value of items taken from the fighter and mage guild chests to 0 -Reduces the value of player-made potions to zero -Increases the cost of training -removes the barter options from Creeper and the Mudcrab Merchant The plug-in is actually complete, but I want to re-write the merchant component. Currently, it alters the Speechcraft and Mercantile scores of every merchant in the game, which is a very crude and intrusive method. I'm going to re-write it so that the changes are handled by script. The script will use global variables, so that you can change the difficulty setting by typing just a few lines into the console. This will also eliminate conflict issues. This post has been edited by HotFusion4: Yesterday, 01:48 PM |
yakueb |
Yesterday, 02:05 PM
Post #2
|
Novice Joined: 16-December 04 From: Saginaw MI, USA |
QUOTE(HotFusion4 @ Feb 3 2005, 01:48 PM)
I don't like that at all. I have an Alchimist PC that lives of the potions he makes (NOM) . I know that their is a bug that allows you to exploit fortify intelligance, but NOM fixis this by changing ash yam's effects. I love everything else about this mod, but perhaps offer a version that does not remove player made potion value. Seriously, I will download it, because it is awesome except that one thing. -------------------- I've got the rest of my life to do things, right now
I am gonna do nothing. |
Stromgarde |
Yesterday, 02:36 PM
Post #3
|
Adept Joined: 4-March 04 |
Thanks for the detailed analysis and for working on a
modular version. I'm looking forward to your revised Merchant component. I
might try the others, too, although I suspect at least some of them will
conflict with other things I'm already using.
-------------------- Morrowind Advanced 1.82 - Available for download on
TheLys and TESmods.net |
Raveren |
Yesterday, 03:16 PM
Post #4
|
Adept Joined: 21-December 04 From: Far out |
QUOTE(yakueb @ Feb 3 2005, 08:05 PM)
I love everything else about this
mod, but perhaps offer a version that does not
remove player made potion value. that's wat modullar plugin!! great research, but still incompatibilities will arise and some (of the mudules) seem to me irrational. -Rescales the prices of most ingredients to a more sensible standard. is incompatible with sris alchemy -removes the barter options from Creeper and the Mudcrab Merchant I don't feel like it -Reduces the value of player-made potions to zero sris alchemy has another method to avoid exploitation of this skill - it changes fortify intelligence ingredients effects to other. -------------------- Possible: 1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) I can't type multiple consequent spaces in my sig, and the maximum length is actually 345 symbols! That suxx!!! |
_Tarnsman_ |
Yesterday, 03:34 PM
Post #5
|
Acolyte Joined: 14-December 04 |
Being one that favors realism over the desire for
easy gold, I'm all for your mod. Eagerly await its release. Now if someone
would come up with a way to limited the homebrewed potions from being so
uber. I mean with master equipment, a enchanted ring increasing your
alchemy skill, a few intelligence boosting potions and presto! you have
potions whose attributes dwarf those of the best in game potions. -------------------- ********* Mods: BEER! Hungers No Thieving Start Potions 1.01 WIP: Radagast the Brown, The Last of the Dwarves, Hunters and Farmers of Vvanderfell, Molag Mar Rebuilt, Dagon Fel Transformed, The Isle of N'Dib and The Sea of Ghosts, BEER! Add-on |
HotFusion4 |
Yesterday, 03:47 PM
Post #6
|
Novice Joined: 1-February 05 |
QUOTE
great research, but still
incompatibilities will arise and some (of the mudules) seem to me
irrational. The explict rationales for each change are documented in the individual readmes. I had a reason for every change that I made. QUOTE
-Rescales the prices of most
ingredients to a more sensible standard. is incompatible with sris alchemy Possibly, but I could just as easily say that Sri's alchemy isn't compatible with my mod, instead of the other way around. I don't consider necessary mod conflicts to be inherent flaws in a mod's design. QUOTE
-removes the barter options from
Creeper and the Mudcrab Merchant I don't feel like it Don't use that part, then. Creeper and Mudcrab seriously break the game's economy. That's why they're neutered. QUOTE
-Reduces the value of player-made
potions to zero sris alchemy has another method to avoid exploitation of this skill - it changes fortify intelligence ingredients effects to other. No. Sri's alchemy prevents you from creating massive uber potions. It does nothing to prevent alchemy from becoming an infinte money pump. A player with even a modest alchemy skill can go to a merchant, buy a few reagents for about 10 septims, turn them into potions, and then sell them back for 200+ septims apiece. Totally broken, since you can quickly make inifinte money at no risk and very little time. _Tarnsman_: A guy named Beancounter on the old forums found a way to weaken the power of homemade potions by altering a few game settings. I'll see if I can find the mod. |
Raveren |
Yesterday, 04:11 PM
Post #7
|
Adept Joined: 21-December 04 From: Far out |
no offence intended, a great mod no
doubt... Sris alchemy also makes the alchemists to no longer have infinite amounts of ingrediaents and that stops you from making alchemy skill a money pump! QUOTE
Possibly, but I could just as
easily say that Sri's alchemy isn't compatible with my mod, instead of the
other way around. I don't consider necessary mod conflicts to be inherent
flaws in a mod's design. I was implying a compatibility patch QUOTE
_Tarnsman_: A guy named Beancounter
on the old forums found a way to weaken the power of homemade potions by
altering a few game settings. I'll see if I can find the mod. I think I know of this, he messed with the gmsts and made the potions greater in power and shortened their duration, the price remained intact (or did it became zero) -------------------- Possible: 1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) I can't type multiple consequent spaces in my sig, and the maximum length is actually 345 symbols! That suxx!!! |
HotFusion4 |
Yesterday, 04:45 PM
Post #8
|
Novice Joined: 1-February 05 |
/*
QUOTE(Raveren @ Feb 3 2005, 03:11 PM)
no offence intended, a great mod no
doubt... None taken. QUOTE
Sris alchemy also makes the
alchemists to no longer have infinite amounts of ingrediaents and that
stops you from making alchemy skill a money pump! I was implying a compatibility patch Ah! I see what you meant now. I didn't know that Sri did that to the merchant's inventories. As far as a compatibility patch goes... maybe. Many modders are people pleasers, which is fine. They mod primarily because they enjoy giving other people things that they want. I'm a bit different. I make mods primarily because no existing mods does what I want at the time. There's no harm in sharing my personal toys with other people, so I'm more than happy to upload my stuff, but as a rule, I don't do mod-work that I won't be using myself. Since I don't use Sri's alchemy (although I think that it's a fine mod), a patch wouldn't enhance my own game. Therefore, I don't feel at whole lot of motivation a do the extra work. I'll take a look and see how much effort would be required. If there isn't too much overlap, I will probably make a patch. If it would require more than a few hours, then I probably won't. |
Taurusaud |
Yesterday, 05:41 PM
Post #9
|
Curate Joined: 23-August 04 |
There is another bug that you haven't addressed here
with mercantile~ when attempting to bribe an NPC, if at first the NPC doesn't accept, all you need to do is keep clicking offer until they do accept it. This needs to be fixed as well. EDIT: this happens because the game assigns a random percentage chance that the NPC will accept the offer at any given value. Thus if you keep clicking offer, even without changing the value, sooner or later they accept. It makes the game stupid. This post has been edited by Taurusaud: Yesterday, 05:42 PM -------------------- Burn the flag if you must, but before you do that,
burn your house, your car, your t.v., and your wife and kids. |
mercurybard |
Today, 12:01 AM
Post #10
|
Initiate Joined: 9-June 03 |
It would be nice if you also released a plugin just
correcting the "mercantile bug". I'm kinda found of my Creeper. -------------------- |
fable2 |
Today, 12:22 AM
Post #11
|
Disciple Joined: 18-May 04 |
Hotfusion, I like it all. By all means, do release
it. I'll be among the first to use it. Please put it up on TESmods, and
Summit: I check 'em out daily, and your mod sounds exactly like the kind
of anti-cheese economic mod I've been looking for, for some time. |
Tricrux |
Today, 12:33 AM
Post #12
|
Curate Joined: 24-December 04 From: The Falcon |
Excellent work and research, HotFusion! :thumbsup: -------------------- FORMERLY NAMED ITHILBEAM! remember that now. |
fable2 |
Today, 09:43 AM
Post #13
|
Disciple Joined: 18-May 04 |
The plug-in is actually complete, but I want to
re-write the merchant component. Currently, it alters the Speechcraft and
Mercantile scores of every merchant in the game, which is a very crude and
intrusive method. I'm going to re-write it so that the changes are handled
by script. The script will use global variables, so that you can change
the difficulty setting by typing just a few lines into the console. This
will also eliminate conflict issues. Do you have a timeline on this? Just curious. |
Sir_John |
Today, 12:03 PM
Post #14
|
Acolyte Joined: 15-May 03 |
When you say that pearls will be less common in your
mod, do you mean that they will be less frequently sold by merchants or
less frequently generated in shells? Also, how much less common will
pearls be? |
BlindEye |
Today, 12:21 PM
Post #15
|
Adept Joined: 9-April 04 |
I have two mods on Tesmods that address Alchemy
exploits and bribe exploits. Blindeye's Non Profit Alchemy & Blindeye's Bribery. This post has been edited by BlindEye: Today, 12:22 PM |
Davbninja |
Today, 12:27 PM
Post #16
|
Adept Joined: 5-December 04 From: Andromeda Galexy |
hmm, so let me get this straight, if i dont like some
part of the mod, then i can just shut it off, or what? -------------------- |
PirateLord |
Today, 01:47 PM
Post #17
|
Disciple Joined: 7-October 03 From: Earth, some of the time |
Is it possible to script it that when a player levels
up, all traders skills are increased. That way, to start with, everything is a bargin, but as you get better and more "famous" traders get better too. -------------------- Vist my Morrowind Mods page Piratelords Mods Greater Dwemer Ruins Forum (If I get asked one more time "Is it Compatable with MCA", I'm gonna get so angry that I'll make Dagoth Ur look like a Mud-Crab, grrrrr.....) |
HotFusion4 |
Today, 03:05 PM
Post #18
|
Novice Joined: 1-February 05 |
QUOTE(fable2 @ Feb 4 2005, 08:43 AM)
Do you have a timeline on
this? Just
curious. A week, maybe less. The original Merchantfix module simply altered every merchant's Mercantile and Speechcraft scores. That's a very dirty way of going about it, and is also uncustomizable. I'm rewriting so that a script does the changes instead. That way, no conflicts will occur, because the NPC reference data is never actually touched by the esp itself. Also, by typing a few lines into the console, you can alter the settings in runtime. You can set how points each merchant recieves in each skill per level of the merchant, the minimum allowed score, and the maximum allowed score. You can create separate settings for both Mercantile and Speechcraft. You can reinialize the numbers at any time by re-runnng the script. What I'm doing right now is writing a giant script that looks something like this: "merchant1"-> do this "merchant2"-> do this etc. Long, tedious work. QUOTE("Sir_John")
When you say that pearls
will be less common in your mod, do you mean that they will be less
frequently sold by merchants or less frequently generated in shells? Also,
how much less common will pearls
be? Less frequently generated by Kollop shells. The current rate is 50%, which is way too high. A causal stroll along a riverbank frequently nets about 300-600 septims. Ten percent seems like a more reasonable number. Pearl diving is still profitable, but it isn't a magic carpet to wealth anymore. QUOTE("Davbninja")
It's modular. As in divided
into separate esps. QUOTE("PirateLord")
Is it possible to script it
that when a player levels up, all traders skills are increased. That way, to start with, everything is a bargin, but as you get better and more "famous" traders get better too. I considered that, but your leve and your Mercantile scores aren't neccessarlily related. It is quite possible to increases one without increasing the other. If you want the challenge to scale, you can alter the settings as you level up and reinitialize the script. |
lyobovnik |
Today, 03:51 PM
Post #19
|
Acolyte Joined: 2-February 03 From: WI, USA |
I'd rather instead of one huge script addressing each
NPC merchant, you made four Mercantile skill classifications (Incompetent,
Mediocre, Skilled, Master), wrote one generic script that modifies the
merchant's skill based both on HIS character level and the Player's skill,
and put this script on each Merchant. Something like "If my level is 10,
I'm Mediocre. And if the player has Mercantile 20, since I'm Mediocre and
he is Incompetent, I'll respond to his offers in such-and-such a
way." If you don't want to touch the NPCs in the editor, perhaps you can do it through Dialog, with a greeting that detects merchant class activating the script as a "targeted script" affectin the NPC. The script could apply your math and discoveries to each skill group in a different way. EDIT Missed adding a line This post has been edited by lyobovnik: Today, 03:56 PM -------------------- Dr.: Gentlemen... Behold!! Am I not
invisible? Assistant: No. Dr.: Well - why not?!? |
HotFusion4 |
Today, 04:05 PM
Post #20
|
Novice Joined: 1-February 05 |
QUOTE(lyobovnik @ Feb 4 2005, 02:51 PM)
I'd rather instead of one huge
script addressing each NPC merchant, you made four Mercantile skill
classifications (Incompetent, Mediocre, Skilled, Master), wrote one
generic script that modifies the merchant's skill based both on HIS
character level and the Player's skill, and put this script on each
Merchant. Something like "If my level is 10, I'm Mediocre. And
if the player has Mercantile 20, since I'm Mediocre and he is Incompetent,
I'll respond to his offers in such-and-such a way." If you don't want to touch the NPCs in the editor, perhaps you can do it through Dialog, with a greeting that detects merchant class activating the script as a "targeted script" affectin the NPC. The script could apply your math and discoveries to each skill group in a different way. I'm not sure I understand what you're saying. If you want to custom-scale the merchant's skills according to your level or his level, or both, just alter the min/max/slope settings and reinitialize the script. Altering a merchant's greeting dialogue is likely to break several quests, and conflict severely with other mods. Also, it would be much. much more work. |
lyobovnik |
Today, 04:31 PM
Post #21
|
Acolyte Joined: 2-February 03 From: WI, USA |
QUOTE(HotFusion4 @ Feb 4 2005, 03:05 PM)
I'm not sure I understand what
you're saying. If you want to custom-scale the merchant's skills
according to your level or his level, or both, just alter the
min/max/slope settings and reinitialize the script. Altering a merchant's greeting dialogue is likely to break several quests, and conflict severely with other mods. Also, it would be much. much more work. Well, I apologize if that idea is not of much use to you. The only reason I offered an idea is that I wanted to be helpful to you. I know most people want small scripts, and functional transparency - not big scripts, and having to open the console a lot. So I suggested a self-adjusting script that A.] Identifies how good a merchant should be based on his character level B.] Adjusts the merchant's skill based on the relationship between the factors you identified, but making low-level merchants not quite as good as high-level merchants C.] Does not have to identify every NPC Merchant individually, rather detects if someone is a merchant when you talk to them, then does its thing. About quest conflict, that is possible, but I would think that that is avoidable without abandoning this approach. About level of effort, No. Not more work. Here at my job, I typed up a script in a few minutes that seemed to do the job just fine; I guess you won't be needing that. But it's your party - mod how you want to. -------------------- Dr.: Gentlemen... Behold!! Am I not
invisible? Assistant: No. Dr.: Well - why not?!? |
HotFusion4 |
Today, 04:42 PM
Post #22
|
Novice Joined: 1-February 05 |
QUOTE(lyobovnik @ Feb 4 2005, 03:31 PM)
Well, I apologize if that idea is
not of much use to you. The only reason I offered an idea is that I
wanted to be helpful to you. I know most people want small scripts,
and functional transparency - not big scripts, and having to open the
console a lot. So I suggested a self-adjusting script that A.] Identifies how good a merchant should be based on his character level B.] Adjusts the merchant's skill based on the relationship between the factors you identified, but making low-level merchants not quite as good as high-level merchants C.] Does not have to identify every NPC Merchant individually, rather detects if someone is a merchant when you talk to them, then does its thing. The script already does A and B. Item C isn't possible, outside of making a comprehensive list of every NPC that has the barter option enabled, which is what I'm doing right now. QUOTE
About level of effort, No.
Not more work. Here at my job, I typed up a script in a few minutes
that seemed to do the job just fine; I was talking about altering the greeting dialogue of all 389 merchant NPCs, not about writing a script. Scripting is a relatively low-effort approach, which is why I'm attacking the problem from that angle. I'm not sure that we're talking about the same thing anymore. I think that some sort of mis-communication is occurring. |
Lo-Fi Version |
0.2283sec -- 9 queries
GZIP Enabled
Time is now: 4th February 2005
- 04:43 PM |